超简的C++问题:cin<<a不能输入空格是吗?

来源:百度知道 编辑:UC知道 时间:2024/09/23 16:46:03
int main(){
char a;
cin >> a;
cout << a;
return 1;
}
运行时,若输入空格,还会让继续输,输一个其他的字符就能正确输出且结束,这是为什么呢?
谢谢!

这不是问题,cin输入流类就是这样封装的

在按回车键前,不允许输入空字符(比如:空格,制表符,换行符等)。

如果你想输入空格等空字符,需要去你自己程序内部自行控制输入。

因为cin封装的更加好了
具体机制不清楚
但是你用scanf看看
好像就不行了

楼上的说得对,就是因为cin的问题,如果换成scanf就不行了,这是c++编译程序的问题。

默认情况下
标准输入流cin是跳过空格的
如果想接受空格
可以先
cin.unsetf(ios::skipws);